<?php
class Mozg_Cfg
{
	static private $_allData = array();
	static private $_isDataLoaded = false;

	static protected function GetFile($id)
	{
		return _ROOT_PATH. 'config/' .$id;
	}

	/**
	 *
	 * GetConfig($id)
	 */
    static public function Get($id)
    {
        if (!isset(self::$_allData[$id]))
        {
        	$configFile = self::GetFile($id);
        	if (Mozg_Storage::Exists($configFile)) $value = Mozg_Storage::Read($configFile);
        	else $value = array();

        	self::$_allData[$id] = Mozg_Entity::Get($id, $value);
        	/*
        	$args = func_get_args();
			array_shift($args);
			call_user_func_array(array(self::$_allData[$id], 'AddData'), $args);*/
        }

        return self::$_allData[$id];
    }

    static public function Save($id)
    {
    	$data = self::Get($id);
    	if (!$data) return false;

    	$configFile = self::GetFile($id);
		Mozg_Storage::Save($configFile, $data->OriginalData());

    	return true;
    }

    static public function Delete($id)
    {
    	$configFile = self::GetFile($id);
		if (Mozg_Storage::Exists($configFile))
		{
			return Mozg_Storage::Delete($configFile);
		}

    	return false;
    }
}